home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / msdos / raytrace / pov / gen / aatexe / readme < prev    next >
Text File  |  1993-07-21  |  6KB  |  136 lines

  1. /*   Another Animation Tool
  2.  
  3.         Created by Jeff Epler
  4.  
  5.         This program is a middle-man, creating files suitable for use by
  6.         RAYSCENE.  With the commands available to you, creation of animation
  7.         will be easier than the use of the RANGE command that was a part of
  8.         RAYSCENE.  Just create a data file like in simple.aat and pipe it
  9.         to aat.  Stdout will contain a file suitable to be a rayscene
  10.         array.
  11.  
  12.         You are free to use and improve this program.  If you make any
  13.         signifigant revisions to it, please drop me a line...
  14.  
  15.         internet address jepler@nyx.cs.du.edu
  16.  
  17.    version 0.1  07-10-93    Very limited control, linear movement only
  18.  
  19.    version 0.2  07-14-93    Added other types of motion, RANDOM option,
  20.                              changed format to add more flexibility.
  21.                              First version released on the Internet.
  22.  
  23.    version 0.3  07-15-93    Fixed some silly booboos (RANDOM didn't work,
  24.                              the name of the program was wrong in the output
  25.                              file.) and updated README to list info about
  26.                              platforms it's been compiled on.  I'll now say
  27.                              that I'm confident it'll compile on most any ANSI-C
  28.                              compiler.
  29.                             Added SIN-type motion
  30.                             Added frame-omission and frame-addition options
  31.                              To emit only one frame of every F, invoke AAT:
  32.                               aat -oF [...]
  33.  
  34.                              To increase the number of frames by a factor of F,
  35.                              invoke AAT:
  36.                               aat -mF [...]
  37.  
  38.                              If the -o option is used, the last frame is always
  39.                              output.  The -o and -m options cannot be used
  40.                              together.
  41.  
  42.                             A note to TurboC users:  Due to the braindead-ness
  43.                              of DOS, the 80x86 architecture, Borland compilers,
  44.                              memory models, and anything Intel related, you'll
  45.                              need to decrease the max_frames or max_variables
  46.                              constants to make this compile.  As packaged, the
  47.                              array 'double variables[][]' is bigger than the
  48.                              64K limit on structures.  Get GCC or another decent
  49.                  32-bit compiler and stop worrying about it!
  50.  
  51.   aversion 1.0  07/22/93    A new note to TurboC users:  I wrote workaround code
  52.                              for the variables[] array -- Now it's allocated at
  53.                              runtime, and can exceed 64K.  The upper limit on
  54.                              frames is probably about 64k/sizeof(double) right
  55.                  now.  You should compile with the large model (MAKE
  56.                  should do this for you, however.)
  57.  
  58.                             Very nearly a complete substitute for Rayscene now
  59.                  -- Using a style very much like Rayscene, one can
  60.                  generate many .POV/... files with just AAT.
  61.                  That's what the 1.0 means.
  62.  
  63.                 Command-line is changed:
  64.  
  65.                  aat -mX -oX -bNAME -oNAME AAT-NAME
  66.  
  67.                 The switch letters are not case sensitive.
  68.                  -m and -o specify to Multiply or Omit frames.
  69.                  (X is an integer.)  -b specifies the base name
  70.                  for the output files.  -o specifies the name of
  71.                  the original file. AAT-NAME is the name of your
  72.                  .aat file.  All have reasonable defaults.  -m
  73.                  and -o both default to 1, -b to aat, -o to
  74.                  aat.pov, and aat-name to aat.aat.
  75.  
  76.                 The only feature really lacking in this program
  77.                  vs. rayscene is script generation.  However, I
  78.                  feel that this is trivial -- With a decent UNIX
  79.                  shell script or (for DOS) a relatively simple
  80.                  alias/batch under 4DOS can do it.  A batch for
  81.                  4DOS to render all .POV files in a directory is
  82.                  now included in the distribution.
  83.  
  84. Input file structure:
  85.  
  86. VARIABLES:                        // Two slashes comment rest of line.
  87.         <variable-name>=<double>  // No spaces here
  88.         [ ... ]
  89.  
  90. FRAME [integer]                   // Whitespace where shown here.
  91.                                   // Tabs, spaces, returns are all whitespace.
  92.  
  93.         [ FRAMES <integer> ]
  94.         [ <variable-name> TO <double> [ MODE <integer> ] [ FRAMES <integer> ] ]
  95.         [ <variable-name> RANDOM <double> <double> [ FRAMES <integer> ] ]
  96.         [ <variable-name> SIN <double> <double> <double> <double> [ FRAMES <integer> ] ]
  97.         [ ... ]
  98.  
  99. END
  100.  
  101. The following modes are supported:
  102.         1. Simple linear motion
  103.         2. Acceleration X**2
  104.         3. Deceleration 2*X - X**2
  105.         4. Start & Stop -- Starts as #2, ends as #3
  106.  
  107.  
  108. */
  109.  
  110. This version (1.0) of AAT is a complete replacement for Rayscene.  With one
  111. program, you can now process .aat scripts and output files for your
  112. renderer.  (As shipped, AAT works perfectly with POV 1.0 -- For other
  113. renderers, some of the options will need to be changed.  This will probably
  114. require source modifications.)
  115.  
  116. To see AAT in action, just type:
  117. aat simple.aat -osimple.pov
  118.  
  119. This will read the script simple.aat and the POV file simple.pov.  It
  120. should produce 25 frames named aat0001.pov .. aat0025.pov.
  121.  
  122. Now, you must have POV render all 25 frames, and then use some other tool
  123. to make the separate frames into an animation.  (Unlike Rayscene, AAT
  124. doesn't generate a script for you.  It's my opinion that it's easy enough
  125. to write a shell script for a UNIX shell or the DOS shell 4DOS that this
  126. wasn't on my priority list.)  When you're done, you'll be treated to a very
  127. simple show:  Above a rotating checker plane, a sphere changes size and
  128. colour.
  129.  
  130. See the file aatlang.doc for details about AAT files and how to insert
  131. variables in your data-files.  (If you're familiar with Rayscene, you
  132. should be able to write data-files immediately.  $ is used for the
  133. variable-signal character, and a variable-name is terminated with either
  134. whitespace or another $ symbol.  The only difference you should worry about
  135. is that AAT does _not_ allow whitespace in variable names.)
  136.